package com.heima.schedule.service;

import com.heima.model.schedule.dtos.Task;

/**
 * @author shiminghui
 * @date 2024/12/1 10:27
 * @description: TODO
 */
public interface TaskService {
    /**
     * 添加任务
     *
     * @param task
     * @return
     */
    Long addTask(Task task);

    /**
     * 删除任务
     *
     * @return
     */
    boolean cancelTask(Long taskId);

    /**
     * 按照类型和优先级拉取任务
     *
     * @param type
     * @param priority
     * @return
     */
    Task getTask(int type, int priority);

    /**
     * 定时刷新任务列表(即将预定任务添加到执行任务列表)
     */
    void refresh();

    /**
     * 定时同步任务到redis(从数据库查询数据更新redis缓存)
     */
    void syncSchedule();
}
